package com.cnit1818.mybatis.jdbc;

import org.apache.commons.beanutils.BeanMap;
import org.apache.commons.lang.ArrayUtils;

import java.util.Map;

/**
 * SQL对象
 *
 */
public class SqlUtils
{
    public static String getLogSql(String sql, Object[] param)
    {
        return new StringBuilder().append("sql: ")
                .append(sql)
                .append("\r\nparam: ")
                .append(ArrayUtils.toString(param)).toString();
    }

    public static String getLogSql(String sql, Map map)
    {
        return new StringBuilder().append("sql: ")
                .append(sql)
                .append("\r\nparam: ")
                .append(ArrayUtils.toString(map.entrySet().toArray()))
                .toString();
    }

    public static String getLogSql(String sql, Object param)
    {
        return new StringBuilder().append("sql: ")
                .append(sql)
                .append("\r\nparam: ")
                .append(ArrayUtils.toString(new BeanMap(param).entrySet().toArray()))
                .toString();
    }

    public static String getRecordCountSql(String sql)
    {
        return new StringBuilder()
                .append("select count(1) from (")
                .append(sql)
                .append(") temp")
                .toString();
    }

}
